package cn.zw.design.strategy;

/***********************************************************************
 * Module:  Duck.java
 * Author:  Administrator
 * Purpose: Defines the Class Duck
 ***********************************************************************/


/** @pdOid fcccd014-aed8-4d48-94a4-1ca6ece2da70 */
public abstract class Duck {
   /** @pdOid 98b13c89-f911-4543-bbb9-deb833031437 */
   protected Flyable flyAble;
   /** @pdOid ea8c09bf-954f-4113-a9a4-07a88931c910 */
   protected Quackable quackAble;
   
   /** @pdOid 8b599ed7-2b11-4421-9255-64965296cc81 */
   public abstract void display();
   /** @pdOid f2ea2cb7-1704-4d01-9d17-f7c407c96ded */
   public void fly() {
      flyAble.fly();
   }
   
   /** @pdOid d4fb4d42-70ad-4947-bba8-f1868e45aa5f */
   public void quack() {
      quackAble.quack();
   }

}